#ifndef CONVEX_H_
#define CONVEX_H_
// 
// 下面这些方法适合并行运算，低精度运算(对精度要求不高)
// 
#include <Math/LB_Math.h>
#ifdef __cplusplus
extern "C"{

#endif
/*
solve Ax=b

梯度下降法
*/
/*
delta > 0

*/
//  delta表示梯度下降法的系数（学习率）
// 
// 
double gradient_descent_for_solving_systems_of_equations(
    double **A,double*b,double*x,double **F,double*f,int len_f,
    int row,int col,double delta,int num);



/*
min 0.5* x^t H x+ C^t x

Ax<=b
Ex=d

*/

void opt_quadratic_problem_with_constraint(double**H,double* C,int len ,
    double** A,double*b ,int len_a,
    double** E,double* d,int len_e,double* x);



#ifdef __cplusplus
}
#endif
#endif